// const baseUrl = 'https://scardetect.cn:8000/'
const baseUrl = 'http://127.0.0.1:8001/api'
const wsUrl = 'ws://127.0.0.1:8001/api/scar-channel/'
const iconUrl = '/static/icon/'
/**
 * methods： 请求方式
 * url: 请求地址
 * data： 要传递的参数
 * jwt：是否加上JWT验证头
 * resolve： 请求成功回调函数
 * reject： 请求失败回调函数
 */
let request = (methods, url, data = {}, jwt = true) => {
  var header = {
    'content-type': methods.toUpperCase() == 'GET' ? 'application/json' : 'application/x-www-form-urlencoded'
  }
  if (jwt != false) {
    header.authorization = 'jwt ' + wx.getStorageSync('token')
  }
  return new Promise((resolve, reject) => {
    wx.request({
      url: baseUrl + url,
      method: methods,
      header: header,
      dataType: 'json',
      data: data,
      success: (res) => {
        if (res.statusCode >= 400) {
          reject(res)
          return
        }
        resolve(res.data)
      },
      fail(err) {
        reject(err)
      }
    })
  })
}
// 检测登录状态
const checklogin = () => {
  return new Promise((resolve, reject) => {
    var token = wx.getStorageSync('token')
    // 未登录
    if (token === "") {
      reject();
    }
    tokenJustify(token).then((res) => {
        // token 失效或错误
        if (res.hasOwnProperty("token")) {
          resolve()
        } else {
          reject();
        }
      })
      .catch((err) => {
        reject();
      })
  })
}
const tokenJustify = (token) => {
  return new Promise((resolve, reject) => {
    wx.request({
      url: baseUrl + '/authorizations/verifications/',
      method: 'post',
      data: {
        token: token
      },
      header: {
        'content-type': 'application/json', // 默认值
      },
      success(res) {
        resolve(res.data)
      },
      fail(err) {
        reject(err)
      }
    })
  })
}
module.exports = {
  baseUrl,
  iconUrl,
  wsUrl,
  checklogin,
  request
}